图灵测试,测的到底是什么?
The following article is from 果壳网 Author Ent
[这是一篇2014年6月10日发表在《科学人》的一篇文章,今天转发给大家,也算是对昨天我的文章“如何测试人工智能软件?”的补充阅读。艾伦.图灵是计算机先驱、人工智能之父,图灵奖,被誉为计算机界的诺贝尔奖]
2014年6月7日发生了一件事情:聊天程序“尤金·古斯特曼”(Eugene Goostman)在英国皇家学会举行的2014图灵测试大会上冒充一个13岁乌克兰男孩而骗过了33%的评委,从而“通过”了图灵测试
但是,通过了测试又怎么样呢?说明了什么问题呢?
图灵测试
1950年,阿兰·图灵在那篇名垂青史的论文《计算机械与智力》的开篇说:“我建议大家考虑这个问题:‘机器能思考吗?’”但是由于我们很难精确地定义思考,所以图灵提出了他所谓的“模仿游戏”:
一场正常的模仿游戏有ABC三人参与,A是男性,B是女性,两人坐在房间里;C是房间外的裁判,他的任务是要判断出这两人谁是男性谁是女性。但是男方是带着任务来的:他要欺骗裁判,让裁判做出错误的判断。
那么,图灵问:“如果一台机器取代了这个游戏里的男方的地位,会发生什么?这台机器骗过审问者的概率会比人类男女参加时更高吗?这个问题取代了我们原本的问题:‘机器能否思考?’”而这,就是图灵测试的本体。
……等等,那现在这帮人在搞的图灵测试又是什么啊。
其实你可能已经注意到了图灵的真正目的。不是说“思考”没法定义吗?没关系,我们不去纠缠哲学,我们来制造一个可操作的标准。如果这台机器“表现得”和一个思考的人类(人类是会思考的,对吧?)无法区分,那么我们就大可把它当做是在“思考”。
当然,有些方面机器很难表现得和人类一样,比如有血有肉——但是既然我们关注的是思考,那么就可以选择一个有代表性的领域,图灵选择的就是“模仿游 戏”。在原论文中图灵建议,要求也不必太高,假如能判对的裁判人数不到70%(我认为这个数字也只是他的随口一说),那我们就可算是它成功了。
而到了1952年,在一场BBC广播中,图灵谈到了一个新的具体想法:让计算机来冒充人。如果不足70%的人判对(也就是超过30%的裁判误以为在和自己说话的是人而非计算机),那就算作成功了。
可以看到,图灵测试的核心其实不是“计算机能否和人对话”,而是“计算机能否在智力行为上表现得和人无法区分”。冒充异性和冒充人类都不过是特例而已。
不过这个1952年版的图灵测试在后世被发扬光大,成了今天我们所知的图灵测试的唯一方法。这就带来了一些问题。
中文屋子
图灵测试自诞生以来产生了巨大的影响力,不光有支持,也少不得批评。其中最重要的批评之一,可能是1980年约翰·塞尔在《心智、大脑和程序》一文中提到的中文屋子思想实验了。
塞尔说,想象他锁在一间屋子里,手动模拟一个巨大的AI程序,和外界进行中文的对话。这个程序据说是“懂中文”的——至少,能以中文通过图灵测试。 屋子里除了一堆纸(塞尔的原话是“bits of paper”)上写着运算的规则之外,别无他物。(好吧,为了人道起见也许应当添加基本的卫生设施……)
塞尔不懂中文,在屋子里摆弄符号显然也无助于他习得中文,屋子里也没有别的东西理解中文了。如果塞尔不“理解”中文,那么塞尔加上这堆纸也不能说是“理解”中文吧!虽然屋子的中文水平足以骗过中文使用者,但没有任何实体真的“理解”发生了什么。
换言之,所谓的图灵测试也是没有用的,就算通过了它也不能表明计算机在思考。
但问题还不仅限于图灵测试,按照这个实验,一台电脑和塞尔一样,都是只能识别弯弯扭扭的“符号”,对这些汉字符号的意义一无所知。这也正是计算机程序的问题,不管它是硅基的还是塞尔基的。这等于是说有理解力的强AI根本不可能出现!
这个思想实验看起来一目了然,完美符合直觉,而且很迎合了不少人的愿望——证明人类心智是独一无二的天赐产物,人类造不出赝品来。不过话说在前头,我(遵循丹尼尔·丹内特等人的观点)认为它是错的。
其实塞尔当初在伯克利讲座上首次提出这个实验的时候,就有听众反对说,锁在屋子里的人可能不懂他在处理什么东西,但他只是整个系统的一部分啊,他还有规则书,有演算纸笔,有一堆汉字的数据库,凭什么一定要他理解、而不能让整个系统理解?
塞尔的回答是:
“这个想法认为虽然一个人不懂汉语,不知怎么的他和他的那一堆纸联合起来就能懂汉语。如果一个人不是已经深陷意识形态之中,那他怎么会认为这想法可信,还真有点难以想象啊。”
也许吧,但是,真的只有“一堆纸”?
直觉泵的旋钮
这种思想实验——用丹内特的话说叫“直觉泵”——有个共同的问题。它的确给出了一个直觉的结论,但是这结论是来自一个完整的详尽的思想实验,而不像普通的逻辑推理那样来自具体而明确的几个前提。如果这个实验的某个细节,某个你觉得无足轻重的细节,欺骗了你的直觉呢?
最有名的直觉泵大概是有轨电车问题(Trolley Problem),1967年由英国哲学家费丽帕·弗特提出。铁轨上有五个小孩在玩,停用的岔轨上有一个小孩在玩,你要把车转移到岔轨上压死一个孩子救下五个吗?这是一个非常典型的关于道德问题的直觉泵。但是千万不要以为这实验就能完整地代表你的道德立场——如果我换一个条件,那个岔轨没有停用,也在正常 运行,只是这趟车正好不往那走呢?如果我再换一个条件,根本就没有岔轨,那个小孩就在你身边玩,你把他推下去就能让车停下救另外五个小孩呢?如果那一个小孩是你的亲人呢?如果根本没有小孩、只有你自己决定是否要自己跳下去呢?
对待直觉泵,这正是丹内特的建议:研究它的细节,看看每个细节如果发生了改变会不会影响到最后产出的那个直觉。用他的话说,是“转动直觉泵的旋钮”。
回到中文屋子。塞尔说,他在手动模拟一个程序的运行——但是他没有说他是在哪一个层级上模拟。如果外面的人输入了一串中文,比如“你好啊”,屋子里的人在做什么?他是在做机器码(将寄存器23945的内容加到寄存器93756上)?是在做源码(定义常数p,令p=100)?是在做伪代码(将句子拆分为名词、动词、代词和修饰词,判断其是否为一个问题)?有没有注释可看?如果他在顶层,那么他会不会对自己在做什么有所理解?如果他只是底层的一个计算器,那他之上的繁复层级真的可以用“一堆纸”来轻描淡写地概括吗?
设想这样一个问题:写下一个英文大写字母D,把它逆时针旋转90度,然后把它放在一个英文大写字母J的上面。请问这让你想到了什么样的天气?
一个顶层的塞尔(或者干脆就是一个懂中文的塞尔)的脑海中会浮现出D躺在J上的这个形状。一个底层的塞尔当然对此一无所知,但是他身为计算器所驱动 的那个中文屋子要怎么回答这个问题?如果这个中文屋真的通过了图灵测试,它当然不会被这道题难倒——但是解这道题的唯一办法,就是照着它的指示,把D躺 倒,放在J上,对比记忆库,判断出这个形状最接近于雨伞,根据雨伞联想到雨天。这是底层的塞尔所不知道但中文屋作为一个整体必须在它的“内存”中做的事 情。而这件事情和一个懂中文的塞尔解题时的所思所想又有何区别呢?
但是,如果简单地用“一堆纸”这个人畜无害的词,轻描淡写地描述中文屋,你的直觉就被误导了。如果一个中文屋真的完美通过了图灵测试,真的和人无法 区分,它在和裁判对话时的“思维”状态必须是和真人高度类似的。假如图灵测试的裁判决定用苏格拉底式方法(反诘法)教授对方量子物理学,那么一个底层的做算术的塞尔 当然不会因此学会量子物理——但是中文屋却会(别忘了,它通过了图灵测试——它能在智力行为上表现得和人无法区分)。这就像是给中文屋安装了一个新程序, 能执行简单的量子物理计算和模拟。在这种情况下,你还凭什么说,因为底层的人没有理解,所以这间屋子也不能理解呢?
不过上面的论证其实都有一个麻烦。这些说的都是理想的图灵测试,是1950年图灵给出的最原始形态。而2014年6月7日这个聊天程序通过的那个“图灵测试”,和1950年图灵心中的那个测试,并不完全是一回事。
聊天机器人的“图灵测试”
如果你刚才几部分的内容没忘光,可能还会记得,我们反复强调了图灵测试的准则是“计算机在智力行为上表现得和人无法区分”。
但是现实中真要测的话总得有规章,而英国皇家学会的测试规矩是,在一系列时长为5分钟的键盘对话中,某台计算机被误认为是人类的比例超过30%,那 么这台计算机就被认为通过了图灵测试。尤金在2014年的成绩是在总计150场对话里骗过了30个评委里的10个,比两年前提高了4个百分点(所以严格来 说,并不是发生了什么大突破,只是在改良的过程中跨越了一个武断的阈值)。
麻烦来了:尤金的设计思路并不是“一台在智力行为上表现得和人无法区分”的机器,而是一台“能够在5分钟长度对话内尽可能骗过人类”的机器。
经济学有个所谓的古德哈特定律:一项指标一旦成为政策制定的依据,便立刻不再有效。政策制定者会牺牲其他方面来强化这个指标,使得这个指标不再具有指示整体情况的作用(原来软件度量失效,也是这经济学定律的魔力)。类似的道理勉强也可以套用到别的领域里。某种意义上尤金·古斯特曼就是例证——它不但是专门设计的聊天机器人、缺乏任何其他领域的智力能力,而且为了骗过人类,还被特意设定成一个13岁的非英语母语的小孩,以便在很多问题无法回答或者出现错误的时候,让裁判误以为这是因为它年龄小,而非因为它欠缺人性。
其实在聊天机器人里尤金已经不错了,至少它没有话题限制。早年间一个著名的聊天程序ELIZA的一个脚本是冒充一位精神分析师,如果病人说“我头 疼”,它就会回以“你为什么说你头疼?”在这个子领域里它颇为逼真——可是这实在不能认为是表现出了类似人的智力活动。推特上曾有一个账号叫 @AI_AGW,寻找那些气候变化怀疑论者的言论然后给他们发科学论文链接辩论,有些怀疑论者根本没意识到这是AI,双方可以大战几十回合。网友们还开发出了“女神AI”、 “高冷AI”、“二逼AI”等等形态对其进行戏仿——但这些恐怕都不是图灵当初设想的人工智能形态。当然更不是科幻爱好者恐惧(或者盼望)的天网觉醒。
无论是尤金的编写者还是程序的组织者,对此倒也心知肚明。编写者弗拉基米尔·维西罗夫说,“我们希望能借此激发人们对人工智能与聊天机器人的兴 趣。”而组织者凯文·沃里克说,计算机冒充人会带来网络安全的问题,“理解这类实时在线交流如何让人们对某些事信以为真并对他们造成影响,是非常重要的事 情。”没有人真的提到图灵测试本来的那个意义——判断计算机是否在思考;因为这也的确不是本来的那个图灵测试。
有一些人认为现在的整个人工智能领域都背离了初衷,比如侯世达。 另一些人则认为图灵测试根本是无聊和过时的,和AI没有关系。有些人觉得现在的人工智能思路毫无问题,假以时日就能做出好用的AI。还有一些人认为强AI 根本就是不可实现的。作为一个旁观者,我肯定无力判断哪几种观点是对的,但从个人来说,我是真的希望能出现一个程序,以原本的意义通过图灵测试的最初版 ——不光是为了计算机和人工智能的进展,也是为了理解我们自身的大脑。说到底,要弄懂一台机器的运作方式,还有什么办法比拆开来再装回去更好的呢
如还有时间,还可以看看其它文章:
图灵测试与人工智能
人工智能≠类人智能:超越图灵测试的世界观
一个故意不通过图灵测试的人工智能
《一个故意不通过图灵测试的人》-第2部分
人工智能统治人类?反图灵测试在发展